Property Bag Contents for Persistence Unit and Persistence Unit Collection

The following table lists the Property Bag properties and datatypes recognized by erwin DM:

Property Name Type Read-only Description
Property Name Type Read-only Description

Locator

BSTR

Yes

Returns the location of the persistence unit, such as file name. Not available for models without a persistence location, such as new models that were never saved.

Disposition

BSTR

Yes

Returns the disposition of the persistence unit, such as read-only.

Persistence_Unit_Id

SC_MODELTYPEID

No

Retrieves and sets an identifier for the persistence unit.

A new identifier can be assigned to the existing persistence unit. In this case, the old identifier will be placed in the persistence unit's branch log.

For more information, see the description of the Branch Log property.

Branch_Log

SAFEARRAY (SC_MODELTYPEID)

After create

Retrieves and sets the branch log of the persistence unit identifiers. A persistence unit retains its log of identifiers.

erwin DM uses the branch logs of the persistence units for extended identification match.

The API uses only the most current identifier for searching in the Persistence Unit Collection.

Model_Type

Long

After create

Retrieves and sets the type of the persistence unit, such as logical, logical/physical, and physical models. Can be set when a persistence unit is created; after that the property becomes read-only.

Available values are:

  • 1 - Logical, for logical models. This is the default if no value is provided.
  • 2 - Physical, for physical models.
  • 3 - Combined, for a logical/physical model.

Target_Server
Target_Server_Version
Target_Server_Minor_Version

Long

After create

Retrieves and sets the target database properties for physical and logical-physical models. Can be set when a persistence unit is created; after that the property becomes read-only.

For available values for the Target_Server property, see the next table.

Storage_Format

Long

After create

Retrieves and sets the storage format, which has a value of Normal for a model and a value of Template for a model template. Can be set when a persistence unit is created; after that the property becomes read-only.

Available values are:

  • 4012 Normal, for a regular model. This is the default if no value is provided.
  • 4016 Template, for a template model.

Active_Model

Boolean

No

TRUE if the persistence unit represents the current model and is active in the erwin DM user interface. Not available when using the API in standalone mode.

Hidden_Model

Boolean

No

TRUE if a model window with the persistence unit data is not visible in the erwin DM user interface. Not available when using the API in standalone mode.

Active_Subject_Area_and_Stored_Display

SAFEARRAY(BSTR)

No

Reports names of active Subject Area and Stored Display model objects. This indicates the Subject Area and Stored Display that erwin DM shows on the screen. The returned value is a safe array with two elements. The first element is a name for the active Subject Area and the second element is for the Stored Display.

Providing a new set of Subject Area and Stored Display names can change this selection. The change has an effect immediately if the model is active in the erwin DM user interface or in the next model opened by the erwin DM user interface.

Optionally, to change a selection, you need only a BSTR with a name for a new Subject Area. From the Subject Area you provide, the API chooses the first Stored Display as active.

The Target_Server property is a vector that consists of three members. The first member of the vector contains a DBMS brand identifier, the second member is the major version value, and the last member is the minor version value.

The following table lists DBMS brand identifiers for the Target_Server property. The table also lists the brand names that are used when the identifier is presented as a string:

DBMS Brand

DBMS Brand Name

DBMS Brand ID

AlloyDB

AlloyDB for PostgreSQL

1075918980

ArangoDB

ArangoDB

1075859217

Apache Avro

Apache Avro

1075859205

Amazon Keyspaces

Amazon Keyspaces

1075859223

Apache Cassandra

Apache Cassandra

1075859199

Apache Parquet

Apache Parquet

1075859220

Azure Synapse

Azure Synapse

1075859211

Couchbase

Couchbase

1075859202

Databricks

databricks

1075859232

Db2 for i

IBM Db2

1075859019

Db2 for LUW

IBM Db2

1075858977

Db2 for z/OS

IBM Db2

1075858978

DynamoDB

Amazon DynamoDB

1075859229

Google BigQuery

Google BigQuery

1075859226

Hive

Apache Hive

1075859187

Informix

IBM Informix

1075859006

JSON

JSON

1075859208

MongoDB

MongoDB

1075859196

MariaDB

MariaDB Foundation

1075859190

MySQL

Oracle

1075859129

Neo4j

Neo4j

1075859214

Netezza

IBM Netezza

1075918978

ODBC/Generic

ODBC

1075859009

Oracle

Oracle

1075858979

PostgreSQL

PostgreSQL

1075918977

Progress

Progress Software

1075859010

Redshift

Amazon Redshift

1075918979

SAS

SAS

1075859013

SQL Server

SQL Server

1075859016

SAP ASE

SAP

1075859017

SAP IQ

SAP

1075859130

Snowflake

Snowflake

1075859193

Teradata

Teradata

1075859018